有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (6) 个答案

  1. # 1 楼答案

    您还可以使用regexp:

    public static int countCommasAtBegin(String str) {
        Matcher commas = Pattern.compile("^,*").matcher(str);
        if (commas.find()) {
            return commas.group().length();
        } else {
            return 0;
        }
    }
    

    但对于这种琐碎的任务,我更喜欢使用简单循环

  2. # 2 楼答案

    如果已知起始字符,则构建一个正则表达式模式并获取第一个组。第一组字符串将包含所需序列的精确匹配,此字符串的长度是结果计数

  3. # 3 楼答案

    一个简单的循环(while或for)包含一个if,该if具有一个相等的条件,即如果为true,则递增一个计数器就足够了

  4. # 4 楼答案

    有一个counter变量,用于统计出现的次数。然后循环遍历整个String,使用charAt(i)获得位置i处的char。测试它是否等于charAt(0)。如果是,则增量counter,如果不是,则增量break退出循环

  5. # 5 楼答案

    这个快而脏的解决方案对我有效

    public static void main(String[] args)
    {
        String s = ",,,foo,bar";
        int count = 0;
        for (int i = 0; i < s.length() ; i++) {
            if (s.charAt(i) != ',')
                break;
            count++;
        }
    
        System.out.println("count " + count);
    }
    

    更新:刚刚意识到您只需要在字符串的开头计算“,”而不是中间。我已经更新了代码来做到这一点

  6. # 6 楼答案

    看一下String javadoc。它包含可用于获取字符串长度和特定位置字符的方法